package com.example.st.service;

import com.example.st.common.ResponseResult;
import com.example.st.entity.User;

import java.util.List;

public interface UserService {

    ResponseResult<List<User>> getAllUsers(Long requesterUid);

    ResponseResult<User> getUserById(Long requesterUid, Long targetUid);

    ResponseResult<User> createUser(Long requesterUid, User user);

    ResponseResult<User> updateUser(Long requesterUid, Long targetUid, User userDetails);

    ResponseResult<Void> deleteUser(Long requesterUid, Long targetUid);

    ResponseResult<Void> registerUser(User user);

    ResponseResult<Long> authenticateUser(String account, String password);
}

